package main

import (
	"fmt"
	"math/rand"
	"strconv"
)

//1.创建一个初始长度为0、容量为10的int型切片，调用rand.Intn(128)100次，往切片里面添加100个元素，利用map统计该切片里有多少个互不相同的元素。

// 计算元素

func Sta_ele() {
	var arr = make([]int, 0, 10)
	var m = make(map[int]int, 200)

	for i := 0; i < 100; i++ {
		arr = append(arr, rand.Intn(128))

	}
	for _, i2 := range arr {
		if m[i2] == 0 {
			m[i2] = 1
		} else {
			m[i2] = m[i2] + 1
		}

	}
	fmt.Println(len(m))
}

//2.实现一个函数func arr2string(arr []int) string，比如输入[]int{2,4,6}，返回“2 4 6”。输入的切片可能很短，也可能很长。
// 转换字符串

func arr2string(arr []int) string {
	var s = ""
	for _, val := range arr {
		val2 := strconv.Itoa(val)
		s += val2 + " "
	}
	return s
}

func main() {
	var a = []int{2, 4, 6, 0, 9, 5}
	//Sta_ele()
	ret := arr2string(a)
	fmt.Printf("%T\n", ret)
	fmt.Println(ret)

}